package com.heima.wemedia.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.heima.model.common.dtos.PageRequestDto;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.wemedia.dtos.WmAuthDto;
import com.heima.wemedia.dtos.WmNewsDto;
import com.heima.wemedia.dtos.WmNewsPageReqDto;
import com.heima.wemedia.pojos.WmNews;
import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.wemedia.vos.WmNewsVo;

import java.util.List;

/**
 * @author 郭文杰
 * @description 针对表【wm_news(自媒体图文内容信息表)】的数据库操作Service
 * @createDate 2023-12-04 10:08:42
 */
public interface WmNewsService extends IService<WmNews> {

    /**
     * 自媒体分页查询
     *
     * @param wmNewsPageReqDto
     * @return
     */
    Page<WmNews> listPage(WmNewsPageReqDto wmNewsPageReqDto);

    /**
     * 文章发布
     *
     * @param wmNewsDto
     * @return
     */
    void submit(WmNewsDto wmNewsDto);

    /**
     * 文章删除
     *
     * @param id 文章id
     */
    ResponseResult delNews(Long id);

    /**
     * 文章上下架
     *
     * @param wmNewsDto
     * @return
     */
    void downOrUp(WmNewsDto wmNewsDto);

    /**
     * 人工审核分页查询
     *
     * @param pageRequestDto 前端dto
     * @return 当前页显示内容
     */
    Page<WmNewsVo> listVO(PageRequestDto pageRequestDto);

    /**
     * 查询文章详情
     *
     * @param id 文章id
     * @return 内容
     */
    WmNewsVo oneVO(Long id);

    /**
     * 人工审核失败(驳回)
     *
     * @param wmAuthDto 文章id 驳回原因
     */
    void authFail(WmAuthDto wmAuthDto);

    /**
     * 人工审核通过
     *
     * @param wmAuthDto 通过审核的文章id
     */
    void authPass(WmAuthDto wmAuthDto);
}
